package me.jdk.generic;

import java.util.ArrayList;
import java.util.List;

/**
 * 
 * @author guanpanpan
 *
 */
public class GenericTest {
	public static void main(String[] args) {

	}

	public void acceptA(List<GenericTestA> testAs) {

	}

	public void acceptA2(List<? extends GenericTestA> testAs) {

	}

	public void test1() {
		List<GenericTestA> testAs = new ArrayList<GenericTestA>();
		GenericTestB testB = new GenericTestB();
		testAs.add(testB);
	}

	public void test2() {
		List<GenericTestA> testAs = new ArrayList<GenericTestA>();
		List<GenericTestB> testBs = new ArrayList<GenericTestB>();
		GenericTestB testB = new GenericTestB();
		testBs.add(testB);
		testAs.addAll(testBs);
	}

	public void test3() {
		List<GenericTestA> testAs = new ArrayList<GenericTestA>();
		List<GenericTestB> testBs = new ArrayList<GenericTestB>();
		acceptA(testAs);
		//		acceptA(testBs);
		acceptA2(testBs);
	}
}

class GenericTestA {

}

class GenericTestB extends GenericTestA {

}